Page({
  data: {
    questions: [], // 用于存储按问题分类的回答
    currentPage: 1, // 当前页
    totalPages: 1,  // 总页数
    pageSize: 8,    // 每页条数
  },

  // 格式化时间函数
  formatTime: function(timeString) {
    const date = new Date(timeString);
    return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
  },

  // 获取会员回答数据
  getReplies(memberId, pageNum = this.data.currentPage) {
    const { pageSize } = this.data;
    wx.request({
      url: `http://127.0.0.1:9090/qaReplies/member/${memberId}?pageNum=${pageNum}&pageSize=${pageSize}`,
      method: 'GET',
      success: (res) => {
        console.log('返回的回答数据:', res.data);

        if (res.data && res.data.list && res.data.list.length > 0) {
          // 按问题分类回复
          const questions = {};
          res.data.list.forEach(item => {
            item.replyTime = this.formatTime(item.replyTime); // 格式化时间

            // 处理父回复，拼接父回复的昵称和内容
            if (item.parentReplyId && item.qaReplies) {
              const parentReply = item.qaReplies;
              item.replyContent = `@${parentReply.members ? parentReply.members.nickname : '未知用户'} 回复: ${parentReply.replyContent || '无内容'}\n${item.replyContent}`;
            }

            // 按问题分类存储
            if (!questions[item.questionId]) {
              questions[item.questionId] = {
                questionTitle: item.psychologicalQaQuestions ? item.psychologicalQaQuestions.questionTitle : '未知问题',
                replies: []
              };
            }
            questions[item.questionId].replies.push(item);
          });

          // 转换为数组格式
          const questionList = Object.values(questions);

          // 如果是刷新，清空已有数据
          if (pageNum === 1) {
            this.setData({
              questions: questionList,
              currentPage: 1,
              totalPages: res.data.pages
            });
          } else {
            this.setData({
              questions: this.data.questions.concat(questionList), // 上拉加载更多
              currentPage: res.data.pageNum,
              totalPages: res.data.pages
            });
          }
        } else {
          wx.showToast({
            title: '没有找到相关回答',
            icon: 'none'
          });
        }
      },
      fail: (error) => {
        console.log('请求失败', error);
      },
      complete: () => {
        wx.stopPullDownRefresh(); // 停止下拉刷新动画
      }
    });
  },

  // 下拉刷新操作
  onPullDownRefresh() {
    const memberId = this.options.id; // 获取会员ID
    if (memberId) {
      this.getReplies(memberId, 1); // 刷新数据，页码重置为1
    }
  },

  // 上拉加载更多操作
  onReachBottom() {
    const { currentPage, totalPages } = this.data;
    if (currentPage < totalPages) {
      const memberId = this.options.id; // 获取会员ID
      this.getReplies(memberId, currentPage + 1); // 请求下一页数据
    } else {
      wx.showToast({
        title: '已经是最后一页',
        icon: 'none'
      });
    }
  },

  onLoad(options) {
    const memberId = options.id; // 获取跳转时传递的会员ID
    if (memberId) {
      this.getReplies(memberId, 1); // 加载第一页数据
    } else {
      wx.showToast({
        title: '会员ID无效',
        icon: 'none'
      });
    }
  }
});
